草庐IT

Perl 运算符

全部标签

windows - 如何更新 Perl 脚本以在 MS Windows 上运行

这个问题在这里已经有了答案:WhydoesPerlcomplain"Useofimplicitsplitto@_isdeprecated"?(3个答案)关闭9年前。我在MSWindows上使用StrawberryPerl5.14.2。以下代码在LinuxPerl5.10.1上运行良好,但在MSWindows上运行失败。我需要更新它才能在两者上运行。subread_dict{openF,"){chomp;s/^*//;split;$freq{$_[1]}=$_[0];$header=substr($_[1],0,$wd);if($freq{"m,$header"}){if($freq{"

windows - 使用 Mail::Sendmail 使用 Windows 机器从 perl 脚本发送电子邮件时出错

我有一个简单的测试脚本,用于使用cpan模块Mail::Sendmail向自己发送电子邮件。我正在使用StrawberryPerl并通过命令行在Windows机器上操作,一切似乎都很好。我收到一条错误消息,提示connecttolocalhostfailed(Noconnectioncouldbemadebecausethetargetmachinerefused.)我的脚本是:useMail::Sendmailqw(sendmail%mailcfg);$mailcfg{from}='dhagan@idatech.com';print"TestingMail::Sendmailvers

windows - 由正常 Windows 提示启动的 Cygwin 中包含的排序命令不接受制表符的 $ 运算符

我已经在我的机器上安装了Cygwin,我想知道是否有一种方法可以在正常的DOS提示符下使用sort命令的全部功能。我读过这个问题:UnixSortwithTabDelimiter使用第二列对选项卡式文件进行排序的命令是:sort-t$'\t'-k2file.txt如果我在Cygwin环境中启动命令,它会按预期工作,如果我从正常的Windows提示符启动它(我已将sort.exe重命名为xsort.exe以避免与nativeWindows排序命令冲突),它不会有效,它无法识别$运算符,它看到\t就像两个不同的字符并且操作失败。是否也可以在DOS提示符下运行?

windows - 为什么 Windows 中的 Perl 不能用变音符号重命名文件?

目录下的文件列表如下:01Born-Praised-Kissed.flac02文施金德.flac03你知道了.flac04DowninthisHole.flac05Wälsungenblut.flac...N.0N文件名#Yes,thesearethesongsofOomph!以及以下Perl程序:usewarnings;usestrict;useutf8;useopenqw(:encoding(UTF-8):std);my@dirnames;while((my$dirname=)=~/\S/){chomp($dirname);push(@dirnames,$dirname);}for

windows - 批处理文件中不平衡的括号和缺少运算符

以下代码在for循环开始和结束时在命令提示符上生成“Unbalancedparenthesis”,并在for循环结束时生成“MissingOperator”。但是,代码工作正常。我在其他相关问题中发现它的发生主要是由于嵌套括号,但即使是这里也不存在。for/R.\sql_queries%%min(*.sql)do(EchoQuerying:%%~nm::QueryingwithGAT-Refer"for/?"forhelpon%%xvariablesjava-Xms64m-Xmx512m-cp%mypath%com.app.GenericAxlTool-i%ip%-v6.0-a%axl

windows - 缺少运算符 -3 无法识别为内部或外部命令。 - 批

我有这段代码,它按预期运行和完成。但在错误之后给出错误。Missingoperator.'-3'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.Missingoperator.'-3'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.r.6.5.mca它确实回应了正确的答案,虽然它是r.6.5.mca这是代码SET/aminrand=-3SET/amaxrand=3set/aplaceobject=

windows - Perl 脚本未在具有 mod_fcgid/Win32 的 Apache 2.2.15 上运行

我已经在WindowsXPSP3和ActivestatePerl上安装了带有mod_fcgid的apache2.2.15(尝试了5.12和5.8.9)尝试了mod_fcgid引用页中的perl示例脚本,但它不工作我在错误日志中得到了这个[2010年12月7日星期二23:10:35][信息]mod_fcgid:服务器127.0.0.1:/usr/bin/perl.exe(5476)已启动[2010年12月7日星期二23:10:35][警告][客户端127.0.0.1](OS109)管道已结束。:mod_fcgid:获取重叠结果错误[2010年12月7日星期二23:10:35][错误][客

sql-server - 为什么这个带有 DBI 连接到 MS SQL 服务器的 perl 程序通过 ODBC 泄漏内存?

我在工作中维护了几个Perl程序,这些程序多年来在各种系统(WinXP、Win2003、Linux)上运行良好。最近我们在运行SQLServer2008的64位Windows2008Server上为一个新客户端部署了它们。代码运行得很好,然后就停止了。查看它,我发现我遇到了内存不足的错误。为了追踪泄漏,我想出了以下示例程序,该程序在一两分钟内声明了大约40兆的内存,并且还在不断增长。有什么想法吗?usestrict;usewarnings;useDBIqw(:sql_types);my$dbh=DBI->connect("DBI:ODBC:sample_db","user","pass

windows - Perl system(command) 然后 kill 命令

我正在尝试输出系统netstat-an-pTCP$interval>$log休眠$seconds,然后退出/终止netstat命令,但我无法获取它才能正常工作。如果我使用startnetstat...,我的sleep和kill命令会起作用,但不会写入日志。如果我只使用netstat...,那么它会写入日志,但不会继续执行sleep和kill命令。关于如何解决这个问题的任何想法?$netstat_cmd="netstat-an-pTCP$interval>$netstatlog;$stop_netstat_cmd="c:\utilities\pskillNETSTAT.exe";syst

python - 从 python 运行 perl 脚本

我知道StackOverflow上有一些关于此的主题。但这些对我来说都没有任何意义。我是python和perl的新手,正在尽力理解。我想从一段python代码运行一个perl脚本。在命令提示符下执行perl脚本如下:perlperlscript.plinput.bopt7output.xml我想从我的python代码运行这个命令。我尝试了以下方法:pipe=subprocess.Popen(["perlscript.pl","input.bopt7","output.xml"],stdout=subprocess.PIPE)但这行不通。我收到一条错误消息,指出它不是有效的win32..